|
Stooge sort is a recursive sorting algorithm with a time complexity of . The running time of the algorithm is thus slower compared to efficient sorting algorithms, such as Merge sort, and is even slower than Bubble sort, a canonical example of a fairly inefficient and simple sort. The algorithm is defined as follows: * If the value at the end is smaller than the value at the start, swap them. * If there are 3 or more elements in the list, then: * * Stooge sort the initial 2/3 of the list * * Stooge sort the final 2/3 of the list * * Stooge sort the initial 2/3 of the list again * else: exit the procedure It is important to get the integer sort size used in the recursive calls by rounding the 2/3 ''upwards'', e.g. rounding 2/3 of 5 should give 4 rather than 3, as otherwise the sort can fail on certain data. However, if the code is written to end on a base case of size 1, rather than terminating on either size 1 or size 2, rounding the 2/3 of 2 upwards gives an infinite number of calls. The algorithm gets its name from slapstick routines of The Three Stooges, in which each stooge hits the other two. ==Implementation== 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Stooge sort」の詳細全文を読む スポンサード リンク
|